Introduction

Textbook

Textbook: Introduction to the Theory of Computation, by Michael Sipser (3rd Edition)

Complexity, Computability, and Automata

“What are the fundamental capabilities and limitations of computers?”

  1. Complexity Theory: Skipped by order of instructor.
  2. Computability Theory: Some basic problems cannot be solved by problems.
  3. Automata Theory: Deals with the definitions and properties of mathematical models of computation.

Mathematical Notations and Terminology

Set

Set: A collection of distinct objects (elements).

\{ 1,2,3 \} \\ \tiny\textit{(represented with brackets)}

Relevant Notes: CS1300 - Set Theory Basics

Things to know: Describing sets, union/intersection/complement, power set, cartesian product

Sequence

Sequence: A collection of distinct objects in some order.

( 1,2,3 ) \\ \tiny\textit{(represented with parenthesis)}

Sets v.s. Sequences:

Functions

g(x) = 2x, \forall x \in Z \\ D: Z \\ T: \{ y | y \text{ is even} \}

Function: Objects that sets up an input-output relationship.

f: D \to R \\ \tiny\textit{Notation for saying $f$ has a domain $D$ and range $R$}

Example: Functions are sets of mappings

DT
A_1Lily
A_2Max
A_2Max

\{ (A_1, Lily), (A_2, Max), (A_3, Max), \}

Arguments: A function’s k-tuple input.

Predicate: Function whose range is \{\text{TRUE}, \text{FALSE}\}.

Relation: A predicate whose domain is a set of k-tuples.

Equivalence Relation Definition: A binary relation R is an equivalence relation if:

  1. R is reflexive if for every x, xRx
  2. R is symmetric if for every x, xRy implies yRx
  3. R is reflexive if for every x, y, and z, xRx and yRx implies xRz

Graphs

Graph: Set of nodes with edges connecting some of them.

Directed Graph: Graph where the edges have directions.

Formally Describing Graphs:

Path: Sequence of nodes connected by edges.

More Graph Types:

  1. Connected Graph: Every two nodes has a path between them.
  2. Tree: A connected graph with no simple cycles.

When are Directed Graphs Useful?

Strings and Languages

Alphabet: Any nonempty finite set.

\Sigma_1 = \{ \texttt{b,c,d,f,g,h,j,k,l,m,n,p,q,r,s,t,v,w,x,y,z} \} \\ \tiny\textit{An example alphabet}

String over an Alphabet: A finite sequence of symbols from that alphabet.

Note: Strings are tuples.

\texttt{MARIO} = (M, A, R, I, O)

More on Strings:

Ordering Strings:

Example of Shortlex Order: Shortlex order of all strings over the alphabet \{ \texttt{ U, W } \}

(\epsilon,\texttt{ U},\texttt{ W},\texttt{ UU},\texttt{ UW},\texttt{ WU},\texttt{ WW},\texttt{ UUU},...)

Prefix: String x is a prefix of string y if a string z exists where xz = y

Language: A set of strings.

Boolean Logic

Boolean Logic: Mathematical system built around TRUE and FALSE.

Relevant Notes: CS1300 - Formal Logic

Things to know: Binary connectives (\land, \lor, \leftrightarrow), tautological equivalence between \rightarrow and \lor, binary operations, distributive law

All Boolean operations can be rewritten in terms of AND and NOT operations.

Example: \begin{align*} P \lor Q \qquad & \qquad (P' \land Q')' \\ P \to Q \qquad & \qquad P' \lor Q \\ P \leftrightarrow Q \qquad & \qquad ( P \to Q ) \land (Q \to P) \\ P \oplus Q \qquad & \qquad (P \leftrightarrow Q)' \end{align*}

Distributive Law:

In-Class Whiteboard: Reviewing logic

pqp \to qq \to pp' \to q'q' \to p'
FFTTTT
FTTFFT
TFFTTF
TTTTTT

Observations:

Sub-Question: Why are there four rows?

q and p are sets of true and false.

q,p \in B = \{F, T\}

The possible outputs is | B^2 | = 2^2 = 4

Definitions, Theorems, and Proofs

Types of Proofs

In this course we’ll need to know proof by contradiction.